package com.szrt.ssm.java.io.example02.demo03.p02;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 演示了 图片文件的复制的效果
 * 从硬盘中读取1个文件并将它写入到另1个位置。相当于文件的复制
 * FileInputStream FileOutputStream 专门用来处理字节流  比如图片 视频 音频 ppt doc 
 *
 */
public class CopyImage {
	
	public static void main(String[] args) {
		//1 要读取的文件
		File in  = new File("io/img/meimei.jpg");
		//2 要写入的文件
		File out = new File("io/img/meimei333.jpg");
		
		//3 提供对应的流 只有流才能对文件的内部进行操作
		FileInputStream  fis = null;
		FileOutputStream fos = null;
		
		try {
			fis=new FileInputStream(in);
			fos=new FileOutputStream(out);
			
			//4 读 用字节数组读
			byte[] b = new byte[5]; //大小根据读的数据的有个最佳值
			int len;//真实写入了几个
			while((len=fis.read(b)) != -1){
				fos.write(b, 0, len);
			}
			System.out.println("图片文件复制完毕...");
		}catch (IOException e) {
			e.printStackTrace();
		}finally{
			//5 关闭输出流
			if(null != fos){
				try {
					fos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			//关闭输入流
			if(null != fis){
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

}
